package com.xigua._递归;

import com.xigua.Node;

import java.util.ArrayList;
import java.util.List;

/**
 * @author LiRongHua
 * @Title: ${file_name}
 * @Package ${package_name}
 * @Description: 给定一个 n 叉树的根节点  root ，返回 其节点值的 前序遍历 。
 *
 *n 叉树 在输入中按层序遍历进行序列化表示，每组子节点由空值 null 分隔（请参见示例）。
 *
 *
 * @date 2022/3/10 0:17
 */
public class _589_N叉树的前序遍历 {

    public List<Integer> preorder(Node root) {
        List<Integer> ans = new ArrayList<>();
        helper(root,ans);
        return ans;
    }

    public void helper(Node root,List<Integer> ans){
        while (root == null) return ;
        ans.add(root.val);
        List<Node> children = root.children;
        for (Node child : children) {
            helper(child,ans);
        }
    }

}
